TClientDataset misto BDE

Otázka od: Petr Hložek

18. 9. 2002 14:05

Dobry den,
pred nekolika dny tady probehla diskuze co pouzit misto BDE na lokalni
databaze. Poucil jsem se a zacal zkoumat TClientDataset.
Mam tri otazky:

1) Exustuje nejaky nastroj na vytvareni CDS souboru? Neco jako byl Databaze
desktop na DBF.

2) Pokud mam databazi, kde bude asi 100 000 zaznamu bude refresh po ulozeni
noveho zaznamu trvat stejne dlouho jako kdyz dam Active:=True?

3) Kolik zaznamu se takto vejde do pameti? Predpokladam ze databaze bude mit
max. 300 000 zaznamu.Lze na toto jeste TClinetDataset pouzit?

Dekuji
       Petr

Odpovedá: ing. Jan Fiala

18. 9. 2002 15:23

Pri takovem objemu dat zapomen na memory tabulky (i ClientDataset)

--
ing. Jan Fiala
mailto:jan.fiala@iol.cz

18.9.2002 Petr Hložek:
> Dobry den,
> pred nekolika dny tady probehla diskuze co pouzit misto BDE na lokalni
> databaze. Poucil jsem se a zacal zkoumat TClientDataset.
> Mam tri otazky:

> 1) Exustuje nejaky nastroj na vytvareni CDS souboru? Neco jako byl Databaze
> desktop na DBF.

> 2) Pokud mam databazi, kde bude asi 100 000 zaznamu bude refresh po ulozeni
> noveho zaznamu trvat stejne dlouho jako kdyz dam Active:=True?

> 3) Kolik zaznamu se takto vejde do pameti? Predpokladam ze databaze bude mit
> max. 300 000 zaznamu.Lze na toto jeste TClinetDataset pouzit?

Odpovedá: Petr Hložek

19. 9. 2002 8:23


----- Original Message -----
From: "ing. Jan Fiala" <jan.fiala@iol.cz>
To: <delphi-l@clexpert.cz>
Sent: Wednesday, September 18, 2002 3:11 PM
Subject: Re: TClientDataset misto BDE


> Pri takovem objemu dat zapomen na memory tabulky (i ClientDataset)
>
Pro kolik zaznamu se jeste da ClientDataset pouzit?

Petr

Odpovedá: ing. Jan Fiala

19. 9. 2002 9:10

>> Pri takovem objemu dat zapomen na memory tabulky (i ClientDataset)
>>
> Pro kolik zaznamu se jeste da ClientDataset pouzit?

Uvedom si, jak takove memory tabulky pracuji. Proste nacitaji vsechny
zaznamy do pameti a pak se s nimi pracuje.
Klidne jej muzes pouzit pro 500000 zaznamu, pokud se smiris s tim, ze
to na zacatku bude trvat, nez se zaznamy nactou a to same pri
ukladani.
Pri jakemkoliv vypadku pak prichazis o vsechny zmeny od posledniho
ulozeni.

--
Jan Fiala
mailto:jan.fiala@iol.cz


Odpovedá: Jan Sebelík

19. 9. 2002 8:45

> Odesílatel: Petr Hložek <petr_h@mrp.cz>
> 1) Exustuje nejaky nastroj na vytvareni CDS souboru? Neco jako byl Databaze
> desktop na DBF.
Ne. Strukturu je treba si vytvorit v Delphi.

> 2) Pokud mam databazi, kde bude asi 100 000 zaznamu bude refresh po ulozeni
> noveho zaznamu trvat stejne dlouho jako kdyz dam Active:=True?

> 3) Kolik zaznamu se takto vejde do pameti? Predpokladam ze databaze bude mit
> max. 300 000 zaznamu.Lze na toto jeste TClinetDataset pouzit?
Jakkoli se mi TClientDataSet libi, myslim, ze stotisice zaznamu je trochu moc.
Na takova data bys mel pouzit opravdickou databazi.
(Ne, ze by to teoreticky neslo.)
TClientDataSet by podle meho soudu mel z databaze nacitat urcitou mnozinu
zaznamu (dobre specifikovane "where"), rekneme stovky az tisice zaznamu.

Honza
=========================================
= HAES - RNDr. Jan Sebelik
= http://www.haes.cz
= Skolici a konzultacni stredisko pro Delphi a Win32
= Vojtiskova 206
= 507 81 Lazne Belohrad
= tel. 0434 692 569 (0776 347735)
=========================================

Odpovedá: Roman

19. 9. 2002 8:04

> > Pri takovem objemu dat zapomen na memory tabulky (i ClientDataset)
> >
> Pro kolik zaznamu se jeste da ClientDataset pouzit?

To nebude ani tak poctem zaznamu, jako spis velikosti. Ty data jsou v
pameti, takze podle techn. vybaveni klienta /jestli mas stanice PIV,512MB
RAM, tak klidne i tech 100MB  /

Roman
==============================
http://kouzelne.misto.cz

Odpovedá: Petr Hlozek

19. 9. 2002 9:35

From: "ing. Jan Fiala" <jan.fiala@iol.cz>
Subject: Re: TClientDataset misto BDE
> Uvedom si, jak takove memory tabulky pracuji. Proste nacitaji vsechny
> zaznamy do pameti a pak se s nimi pracuje.
> Klidne jej muzes pouzit pro 500000 zaznamu, pokud se smiris s tim, ze
> to na zacatku bude trvat, nez se zaznamy nactou a to same pri
> ukladani.
> Pri jakemkoliv vypadku pak prichazis o vsechny zmeny od posledniho
> ulozeni.

Existuje neco co bych mohl pouzit na lokalni databaze s timto poctem zaznamu
abych se vyhnul BDE?

Odpovedá: ing. Jan Fiala

19. 9. 2002 10:46

Treba dBase tabulky a pristup pres ODBC (nativni ODBCe komponenty,
nepotrebuji BDE). A mas k dispozici slusny engine vcetne indexu.
Pak jsou dalsi alternativy jako FlashFiller, ale uz za penize.

--
Jan Fiala
mailto:jan.fiala@iol.cz

19.9.2002 Petr Hlozek:
> Existuje neco co bych mohl pouzit na lokalni databaze s timto poctem zaznamu
> abych se vyhnul BDE?


Odpovedá: Petr Fejfar

19. 9. 2002 10:58

From: "Petr Hlozek" <petr_h@mrp.cz>

> Existuje neco co bych mohl pouzit na lokalni databaze s timto poctem
> zaznamu abych se vyhnul BDE?

Zkus SQLite http://www.hwaci.com/sw/sqlite/index.html.
Umi toho dost a tento pocet zaznamu by mohl zvladnout.

Psal jsem pro nej interface do Delphi vcetne tSQLiteQuery v R/O rezimu.
Je to sice jen studie/prototyp, ale nejak to pracuje. Muzu poskytnout,
pripadne v tom neco fixnout ci doplnit.


HTH, pf